1. Field
Example embodiments of the following description relate to an upgrade system and method having adaptive changeable upgrade processes, and more particularly, to an upgrade system and method capable of changing an upgrade process into a push type, a polling type, and half-push/half-polling type upgrade without configuring an additional system.
2. Description of the Related Art
Recently, the client/server model has been a principle model for conception of network computing. Most business programs that have been made recently adopt the client/server model, and so does TCP/IP, which is a dominant protocol for data communications on the Internet. For example, in the case of the Internet, a web browser may be considered as a kind of client program that requests a Web server at a certain location in the Internet to transmit Web pages or files. In a general client/server model, a server program that is generally referred to as daemon waits for requests of a client in an activated state, and a plurality of client programs generally share one server program.
In the client/server model, data transmission is generally performed in a polling type, a push type, and half-push/half-polling type.
According to the polling type data transmission, clients regularly check the version of a module of the server, and download upgrade files for upgrading the module from the server, when the version of the module on the server is updated.
According to the push type data transmission, the server visits an IP address of a client based on client information managed by the server and transmits data directly to the client according to options set by the client. That is, the server manages the version of the module of the client and selects the client module to be upgraded, and then, notifies the client that the module is to be upgraded.
In order to address problems of the polling type or the push type data transmissions, the half-push/half-polling type data transmissions has been suggested. For example, according to the half-push/half-polling type data transmission, the push and the polling type data transmissions are combined appropriately to support the upgrade of the client so that the client may perform the upgrade by using update time distribution of the server and a scheduling method.